﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>#持续运行 - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The #持续运行 directive keeps a script permanently running (that is, 直到 the user closes it or 退出应用 is encountered)." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>#持续运行</h1>

<p>让脚本持续运行(即, 直到用户关闭或遇到 <a href="ExitApp.htm">退出应用</a>).</p>

<pre class="Syntax"><span class="func">#持续运行</span></pre>
<p>如果在脚本的任意位置使用此指令, 那么脚本会在<a href="../Scripts.htm#auto">启动</a> 完成并且所有其他<a href="../misc/Threads.htm">线程</a>退出之后继续保持运行. 这通常不是必要的, 因为当程序检测到脚本具有某种启动新线程的方式(例如 <a href="../Hotkeys.htm">热键</a>, <a href="SetTimer.htm">计时器</a>或 <a href="../objects/Gui.htm">GUI</a>) 时, 脚本会<a href="../Scripts.htm#persistent">自动持续运行</a>.</p>
<p>在某些情况下可能需要此指令(如果没有正在运行的线程或热键, 计时器, 等.) 包括:</p>
<ul>
  <li>使用 <a href="CallbackCreate.htm">创建回调</a> 和 <a href="DllCall.htm">动态库调用</a> 响应事件的脚本, 因为这些函数不会使脚本持续运行.</li>
  <li><a href="ComObjCreate.htm">创建</a>或<a href="ComObjActive.htm">检索</a> COM 对象并使用 <a href="ComObjConnect.htm">组件对象连接</a> 响应对象事件的脚本.</li>
</ul>
<p>如果将此指令添加到现有脚本中, 则可能需要将部分或全部出现的 <a href="Exit.htm">退出</a> 更改为 <a href="ExitApp.htm">退出应用</a>. 这是因为 <a href="Exit.htm">退出</a> 不会终止持续运行的脚本; 它仅终止<a href="../misc/Threads.htm">当前线程</a>.</p>

<h2 id="Related">相关</h2>
<p><a href="Exit.htm">退出</a>, <a href="ExitApp.htm">退出应用</a></p>

<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a href="#ExBasic">#1</a></p>
<pre><em>; 这个脚本不会自动退出, 即使它没有任何事情要做.
; 但是，您可以使用它的托盘图标在编辑器中打开脚本
; 或启动 Window Spy 或帮助文件.</em>
#持续运行</pre>
</div>

</body>
</html>